Mô tả chi tiết về phương pháp dò tia dùng giải thuật máy tính và căn nguyên của nó Dò_tia_(đồ_họa)

Điều gì xảy ra trong tự nhiên

Phương pháp dò tia có thể đạt tới cấp độ chân thực rất cao.

Trong tự nhiên, một nguồn sáng chiếu một tia sáng với lộ trình mà chung cuộc chạm tới một bề mặt phá vỡ tiến trình của nó. Có thể xem "tia" này như một luồng các quang tử du hành dọc theo cùng một đường đi. Trong chân không tuyệt đối tia này sẽ là một đường thẳng (bỏ qua hiệu ứng tương đối tính). Trong thực tế, bất kỳ tổ hợp nào của 4 thành phần có thể xảy ra với tia sáng này: sự hấp thụ, sự phản xạ, sự khúc xạsự phát huỳnh quang. Một bề mặt có thể phản xạ toàn bộ hoặc một phần các tia chiếu tới, theo một hay nhiều hướng khác nhau. Nó cũng có thể hấp thụ một phần tia sáng, dẫn tới kết quả làm giảm cường độ của các tia phản xạ hoặc/và khúc xạ. Nếu bề mặt có bất kỳ tính chất nào như trong suốt hoặc trong mờ, nó khúc xạ một phần của chùm tia vào trong chính nó theo một phương khác trong khi hấp thụ một vài (hoặc toàn bộ) của quang phổ (và có khả năng biến đổi màu). Ít phổ biến hơn, một bề mặt có thể hấp thụ một phần của ánh sáng và huỳnh quang để tái phát xạ ánh sáng với bước sóng dài hơn theo một phương ngẫu nhiên, mặc dù điều này thường rất hiếm đủ để nó có thể bị tách khỏi quá trình áp dụng vào các phần mềm kết xuất đồ họa trong thực tế. Giữa sự hấp thụ, phản xạ, khúc xạ và sự phát huỳnh quang, tất cả ánh sáng tới phải được tính đến, không được hơn. Một bề mặt không thể, trong một lúc, phản xạ 66% tổng lượng ánh sáng tới, và khúc xạ 50%, vì cả hai tiến trình sẽ làm thành tổng là 116%. Từ đây, các tia phản xạ hoặc/và khúc xạ có thể chạm tới các bề mặt khác, nơi các tính chất phản xạ, khúc xạ, hấp thụ và phát huỳnh quang lại một lần nữa ảnh hưởng tới sự tiến triển của các tia tới. Một vài trong số các tia này du hành theo quỹ đạo mà chúng chạm tới mắt chúng ta, là nguyên nhân khiến ta nhìn thấy cảnh vật và cũng phân phối cho ảnh chung cuộc của sự kết xuất.

Giải thuật phát tia

Một ví dụ về ray casting thể tích

Giải thuật phát tịa đầu tiên được sử dụng cho kết xuất đồ họa đã được đề cập bởi Arthur Appel[1] vào năm 1968. Ý tưởng đằng sau phát tia là bắn các tia từ mắt, mỗi tia cho một điểm ảnh, và tìm đối tượng gần nhất cản đường đi của tia đó – nghĩ về một ảnh như một cửa màn hình, với mỗi ô vuông trong màn hình là một điểm ảnh. Rồi cho mắt nhìn bình thường xuyên qua điểm ảnh đó. Sử dụng những tính chất của vật liệu và hiệu ứng của ánh sáng trong cảnh, giải thuật này có thể xác định được bóng đổ của các đổi tượng. Sự thừa nhận việc đơn giản hóa làm điều đó nếu một bề mặt lộ sáng, ánh sáng sẽ chạm tới bề mặt đó không bị vô hiệu hóa hoặc nằm trong vùng bóng đổ. Tương phản sáng tối của bề mặt được tính toán dựa trên các mô hình sáng tối đồ họa máy tính 3 chiều cổ điển. Một lợi ích mà ray casting đem lại vượt trên giải thuật quét dòng xưa cũ là khả năng của nó trong việc xử lý các bề mặt không phẳng và đặc khối, như hình nónhình cầu. Nếu một bề mặt toán học có thể bị giao cắt bởi một tia, nó có thể được kết xuất bởi kỹ thuật ray casting. Những đối tượng phức tạp có thể được tạo bằng các kỹ thuật tạo mô hình đặc và được kết xuất một cách dễ dàng.

Phát tia dùng trong đồ họa máy tính đã được sử dụng lần đầu tiên bởi các nhà khoa học tại Công ty Toán học Ứng dụng, (MAGI) của Elmsford, New York, New York. Năm 1966, công ty được thành lập để thực hiện các tính toán nhiễm bức xạ cho Bộ Quốc phòng Hoa Kỳ. Phần mềm của MAGI không chỉ tính toán làm thế nào tia gamma tương tác với một bề mặt (ray casting dùng cho quá trình bức xạ được hoàn thành vào những năm 1940), mà còn tính toán nó xuyên thủng và khúc xạ ra sao. Những nghiên cứu này giúp chính phủ xác định những ứng dụ quân sự cụ thể; thiết kế các phương tiện quân sự (các loại xe) sẽ bảo vệ các toán quân khỏi do thám bức xạ, thiết kế các phương tiện bay thám hiểm không gian. Dưới sự chỉ đạo của tiến sĩ Philip Mittelman, các nhà khoa học đã phát triển một phương pháp tạo ảnh sử dụng cùng một phần mềm giống hệt. Vào năm 1972, MAGI đã trở thành một studio hoạt họa (các dạng đồ họa động nói chung) thương mại. Studio này đã dùng phát tia để tạo các đoạn hoạt họa máy tính 3D cho các quảng cáo trên truyền hình, phim giáo dục và cuối cùng là các phim nổi bật khác – họ đã diễn hoạt rất nhiều trong bộ phim Tron sử dụng duy nhất ray casting. MAGI đã rời khỏi thị trường năm 1985.

Giải thuật dò tia

Số lượng các lần phản xạ mà một "tia" có thể thực hiện và làm thế nào nó ảnh hưởng tới tổng thể sau mỗi lần nó tiếp xúc với một bề mặt khác tất cả được điều khiển thông qua các thiết lập phần mềm trong quá trình dò tia. Ở đây, mỗi tia được cho phép phản xạ tối đa 16 lần. "Phản chiếu của phản chiếu" đa cấp có thể được biểu thị rõ ràng.Ảnh từ phim ngắn Thế giới Trái Banh Tập 0. Toàn phim này được kết xuất bằng giải thuật dò tia Whitted. Xem các ảnh phản xạ trên vật thể (tối đa 5 lần).

Nghiên cứu quan trọng tiếp theo đã xuất hiện bởi Turner Whitted vào năm 1979. Các giải thuật trước đây phát tia từ mắt vào cảnh, nhưng các tia không còn bị dò theo nữa. Whitted đã tiếp nối tiến trình đó. Khi một tia tiếp xúc một bề mặt, nó có thể khởi tạo ra ba loại tia khác nhau: phản xạ, khúc xạ, và bóng đổ. Một tia bị phản xạ tiếp tục theo phương của phản xạ gương từ một bề mặt sáng bóng. Sau đó nó giao cắt với các đối tượng trong cảnh; đối tượng gần nhất mà nó giao cắt là thứ được thấy trong sự phản chiếu. Các tia phản xạ du hành xuyên qua vật liệu trong suốt hoạt động theo cách tương tự, sự khác biệt thêm vào là một tia bị khúc xạ có thể vào hoặc ra khỏi vật liệu. Để trách việc phải dò theo xa hơn nữa toàn bộ các tia trong cảnh, một tia tạo bóng được dùng để kiểm tra xem liệu về mặt nào đó có hiển thị trước ánh sáng. Một tia chạm một bề mặt tại vài điểm. Nếu bề mặt tại điểm này lộ sáng, một tia (đối với máy tính, một phân đoạn) được dò giữa giao điểm này và nguồn sáng. Nếu có bất kỳ đối tượng đặc nào chiếm vị trí giữa 2 điểm này, bề mặt nằm trong bóng đổ và ánh sáng không được phân phối tới nó. Lớp mới này của tính toán tia thêm vào hiệu quả chân thực cho ảnh tạo bởi phép dò tia.

Ưu điểm so với các phương pháp khác

Sự phổ biến của phép dò tia nảy sinh từ nền tảng của nó trong sự mô phỏng thực tế của ánh sáng vượt qua các phương pháp khác (như quét dòng hay ray casting). Các hiệu ứng như phản xạ và bóng đổ, khó mô phỏng dùng các giải thuật khác, lại là kết quả tự nhiên của giải thuật dò tia. Tương đối đơn giản để thực hiện mà lại có những kết quả trực quan mềm dẻo dễ tùy chỉnh, phép dò tia thường được mô tả như một pha đột phá đầu tiên vào lập trình đồ họa. Sự độc lập về mặt tính toán của mỗi tia làm cho phép dò tia phải tuân thủ quá trình đa nhiệm hóa .

Một ví dụ ảnh phép chiếu phối cành tính bằng phương pháp dò tia Whitted.Một ví dụ ảnh phép chiếu toàn cành tính bằng phương pháp dò tia Whitted.Một ví dụ ảnh phép chiếu trực giao tính bằng phương pháp dò tia Whitted.

Một ưu điểm khạc, rất dễ đổi phép chiếu của ảnh bằng đổi phương pháp phát tia. Phổ biến nhất là phép chiếu phối cảnh, phát tia đều từ máy quay phim đến mốt mặt phẳng. Nhưng cũng có thể phát tia đều trên một phần bê mặt của hình cầu gỏi phép chiếu toàn cảnh và phát tia songๆ cho được tạo ảnh phép chiếu trực giao (trong lớp cộng nghệ 11 gọi phép chiếu trục đo).

Nhược điểm

Một nhược điểm rất nghiêm trọng của phương pháp dò tia là hiệu năng. Các giải thuật quét dòng và các giải thuật khác sử dụng dữ liệu gắn kết chặt chẽ để chia sẻ gánh nặng tính toán giữa các điểm ảnh, trong khi dò tia luôn thực hiện tiến trình mới, đối đãi (về mặt tính toán) với mỗi tia một cách độc lập. Tuy nhiên, sự riêng rẽ này mang lại một lợi thế, khả năng bắn nhiều tia hơn vào cảnh để thực hiện khử răng cưa và nâng cao chất lượng ảnh khi cần thiết. Mặc dù nó quán xuyến được sự phản xạ tương hỗ và các hiệu ứng quang học như khúc xạ một cách chính xác, theo truyền thống mà nói phương pháp dò tia không nhất thiết phải thật như ảnh chụp. Chất lượng thực như ảnh chụp xuất lộ khi phương trình kết xuất đồ họa là tương đối suýt soát hoặc đã hoàn thành. Thực hiện phương trình kết xuất đem lại chất lượng thực, cũng như cái cách phương trình đó bao quát các hiệu ứng vật lý về sự lan truyền và tương tác của ánh sáng với vật thể. Tuy nhiên, điều này thường không thể thực hiện được với những máy móc theo yêu cầu. Sự chân thực của các phương pháp kết xuất, do đó mà phải được ước lượng như một dạng gần đúng của phương trình, và trong trường hợp của phương pháp dò tia, nó không cần phải thực ở mức độ cao nhất. Các phương pháp khác, bao gồm ánh xạ quang tử, được dựa trên phép dò tia cho những đường đi cụ thể của tia, sẽ đem lại kết quả tốt hơn nhiều.

Nghịch đảo hướng các tia có giao điểm với nhau trong cảnh

Tiến trình bắn các tia từ điểm quan sát (mắt) tới nguồn sáng để tạo hình ảnh thỉnh thoảng được gọi là phép dò tia giật lùi, bởi vì nó ngược lại chiều du hành của các quang tử trong thực tế. Tuy nhiên, có sự lẫn lộn, mập mờ trong thuật ngữ chuyên ngành này. Phép dò tia trước đây luôn bắt đầu từ mắt, và được nghiên cứu từ lâu bởi James Arvo sử dụng thuật ngữ phép dò tia giật lùi để cho thấy nó được ưu ái hơn so với việc bắn các tia từ nguồn sáng và tính toán kết quả. Như vậy, nó hoàn toàn phân biệt giữa dựa trên mắt với dựa trên nguồn sáng trong phép dò tia.

Trong khi tính toán chiếu sáng trực tiếp nhìn chung tốt nhất là sử dụng phép dò tia dựa trên điểm quan sát, những hiệu ứng gián tiếp cụ thể có thể được bổ sung vào bằng tính toán tia đi ra từ nguồn sáng. Tụ quang là những mảng sáng gây ra bởi sự tập trung ánh sáng từ một diện tích phản xạ lớn vào một vùng nhỏ gần diện tích bề mặt khuếch tán. Một giải thuật tính toán tia trực tiếp từ nguồn sáng vào các đổi tượng phản xạ, dò quỹ đạo tới mắt của chúng, sẽ là giải pháp tốt hơn để mô phỏng hiện tượng này. Sự tích hợp cả dò tia dựa trên điểm quan sát cũng như nguồn sáng thường được biết tới dưới cái tên phương pháp dò tia thuận nghịch, trong đó mỗi quỹ đạo đều được thăm dò theo cả hai hướng đi từ mắt và đi từ nguồn sáng, rồi các quỹ đạo được nối lại bằng cách liên kết các tia.[2][3]

Phương pháp ánh xạ quang tử là một phương pháp khác cũng sử dụng cả dò tia dựa trên điểm quan sát và dựa trên nguồn sáng; trong pha tính toán ban đầu, các quang tử năng lượng được dò dọc theo các tia từ nguồn sáng nên để tính toán một ước lượng về thông lượng bức xạ như một chức năng của không gian 3 chiều (quang tử tương ứng định vị chính nó). Trong pha tính toán tiếp theo, các tia được dò từ mắt vào cảnh để xác định những mặt hiển hiện, và họa đồ quang tử được dùng để ước lượng kết quả chiếu sáng tại các điểm trên bề mặt lộ sáng.[4][5] Lợi ích của phép ánh xạ quang tử so với phép dò tia thuận nghịch là ở khả năng đạt tới số lượng quang tử đáng kể được sử dụng lại cho tính toán, giảm công việc tính toán, với cái giá là làm kết quả bị thiên lệch theo dạng thống kê.

Một vấn đề phụ xuất lộ khi phải đi xuyên qua một khe hở rất nhỏ để chiếu sáng toàn cảnh (xem xét một căn phòng tối, với một cách cửa khép hờ hướng ra một căn phóng khác sáng trưng ánh điện), hoặc một cảnh với tất cả các điểm không tia nhìn trực tiếp tới bất cứ nguồn sáng nào (như với ceiling-directed light fixtures or torchieres). Trong những trường hợp đó, chỉ một phần rất nhỏ của các quỹ đạo tia sáng mới cung cấp năng lượng; phương pháp truyền tải ánh sáng Metropolis là một phương pháp bắt đầu với sự tìm kiếm ngẫu nhiên một quỹ đạo trong không gian, và khi các quỹ đạo cung cấp năng lượng được tìm thấy, tái sử dụng những thông tin này bằng cách khám phá những khoảng không kế cận các tia.[6]

Giải thuật: quá trình dò tia đệ quy cổ điển

Cho mỗi điểm ảnh trên hình {    Tạo tia từ điểm quan sát xuyên qua điểm ảnh tương ứng    Nhập giá trị đầu vào t_GầnNhất cho tới VÔ_CỰC và ĐốiTượngGầnNhất bằng NULL    Cho mọi đối tượng trong cảnh {        Nếu tia giao cắt với đối tượng {            Nếu t của giao điểm ít hơn t_GầnNhất {                Đặt t_GầnNhất là t của giao điểm                Đặt ĐốiTượngGầnNhất tới đối tượng này            }        }    }    Nếu ĐốiTượngGầnNhất là NULL {        Lấp đầy điểm ảnh này với màu phông nền    } Nếu không {        Bắn ra một tia cho mỗi nguồn sáng để kiểm tra bóng đổ        Nếu bề mặt là phản xạ, tạo tia phản xạ: trả về        Nếu bề mặt là trong suốt, tạo tia khúc xạ: trả về        Dùng ĐốiTượngGầnNhất và t_GầnNhất để tính toán hàm bóng đổ.        Lấp đầy điểm ảnh này với kết quả của hàm tính toán bóng đổ.    }}

Bên tay phải là một hình ảnh trình diễn một VD đơn giản về 1 quỹ đạo của tia được tạo ra một cách đệ quy từ camera (hoặc mắt) tới nguồn sáng sử dụng giải thuật trên. Một bề mặt khuếch tán tia sáng ra mọi hướng.

Đầu tiên, một tia được tạo tại điểm quan sát và được dò theo đường xuyên qua điểm ảnh vào đến cảnh, nơi nó chạm một bề mặt tán xạ. Từ bề mặt đó giải thuật khởi tạo đệ quy một tia phản xạ mà tia đó được dò qua cảnh, nơi nó lại chạm phải một bề mặt tán xạ khác. Cuối cùng, tia phản xạ khác lại được khởi tạo và dò theo cảnh, nơi nó tiếp xúc với nguồn sáng và bị hấp thụ. Màu sắc của điểm ảnh giờ đây phụ thuộc vào màu sắc của bề mặt tán xạ đầu tiên, bề mặt kế tiếp cùng với màu của ánh sáng phát ra từ nguồn sáng. Ví dụ như nguồn sáng phát ánh sáng trắng và 2 bề mặt kia màu xanh dương thì kết quả màu của điểm ảnh tương ứng là xanh dương.